﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GIFT
{
    class ControlActividad
    {
        //Constructor de la clase
        public ControlActividad()  
        {
            consultaActividad= new ConsultaActividad();
        }

        //Retorna un arreglo con los nombres de las actividades que contengan la hilera que reciba como parametro en el nombre o la descripcion
        public ArrayList buscarContenido(String aBuscar)
        {
            ArrayList nombres = consultaActividad.buscarConcordancias(aBuscar);//Agrega al arreglo los nombres 
            return nombres;
        }

        //Obtiene los comandos 
        public ArrayList obtenerActividades()
        {
            ArrayList nombres = consultaActividad.obtieneActividades(); //Obtiene los comandos y los retorna
            return nombres;
        }

        //Recibe un nombre y retorna true si este ya existe en la base de datos
        public bool existe(String nombre)
        {
            if (consultaActividad.existeActividad(nombre))//Si ya existe
            {
                return true;
            }
            return false;
        }

        //Retornar el atributo de la actividad con el nombre que recibe como parametro
        public String obtenerAtributo(String nombre, String atributo)
        {
            //Manda a buscar en la base de datos
            return consultaActividad.buscarAtributo(nombre, atributo);
        }
        //Obtiene las actividades Compuestas
        public ArrayList obtenerActividadesCompuestas()
        {
            ArrayList nombres = consultaActividad.obtieneActividadesCompuestas(); //Obtiene los comandos y los retorna
            return nombres;
        }
        //Manda a borrar una actividad
        public void borrar(String nombre)
        {
            consultaActividad.borrarActividad(nombre);
        }

        //Guarda los datos de un comando con mascara
        public void guardar(Actividad actividad)
        {
            if (consultaActividad.existeActividad(actividad.getNombre())) //Si es nada mas guardar
            {
                //consultaActividad.modificarActividad((comando.getNombre(), comando.getdescripcion(), comando.getTipo(), comando.getIdFormulario());
                //ArrayList comandos = actividad.getComandos();
                /*for (int i = 0; i < mascaras.Count; ++i)
                {
                    //consultaComando.modificarMascara(nueva.getId(), nueva.getIdTipoCampoReferencia(), nueva.getValorPrevio(), nueva.getValorPosterior(), nueva.getIdComando(), nueva.getIdTipoCampoModificado(), nueva.getNombre());
                }*/
            }
            else //Si es crearlo nuevo
            {
                //consultaActividad.crearNuevaActividad(comando.getNombre(), comando.getdescripcion(), comando.getTipo(), comando.getIdFormulario());
                //String idComando = consultaActividad.buscarAtributoBasicoComando(comando.getNombre(), "id");
                //comando.setId(idComando);
                /*ArrayList mascaras = comando.getMascaras();
                for (int i = 0; i < mascaras.Count; ++i)
                {
                    ((Mascara)mascaras[i]).setIdComando(comando.getId());
                    consultaComando.crearMascara(((Mascara)mascaras[i]).getIdTipoCampoReferencia(), ((Mascara)mascaras[i]).getValorPrevio(), ((Mascara)mascaras[i]).getValorPosterior(), ((Mascara)mascaras[i]).getIdComando(), ((Mascara)mascaras[i]).getIdTipoCampoModificado(), ((Mascara)mascaras[i]).getNombre());
                    String idMascara = consultaComando.buscarAtributoMascara(((Mascara)mascaras[i]).getNombre(), "id");
                    ((Mascara)mascaras[i]).setId(idMascara);
                }*/
            }
        }

        //Variables globales
        private ConsultaActividad consultaActividad;

    }
}
